﻿using System;
using System.Collections.Generic;

using System.Text;
using HZ.Supervise;

namespace HZ.Supervise.IBLL
{
    public interface IBLL_Statistics
    {
        /// <summary>
        /// 获取每个企业总汇总信息
        /// </summary>
        /// <param name="where"></param>
        /// <param name="currenpage"></param>
        /// <param name="pagesize"></param>
        /// <param name="totalrecord"></param>
        /// <returns></returns>
        IList<Model.View.Statistics_Company> GetStatistics_CompanyInfo(Model.Query.Statistics_Company where, int currenpage, int pagesize, out int totalrecord);


        /// <summary>
        /// 获取每个企业各家医院总汇总信息
        /// </summary>
        /// <param name="where"></param>
        /// <param name="currenpage"></param>
        /// <param name="pagesize"></param>
        /// <param name="totalrecord"></param>
        /// <returns></returns>
        IList<Model.View.Statistics_Company_Hospital> GetStatistics_Company_Hospital(Model.Query.Statistics_Company_Hospital where, int currenpage, int pagesize, out int totalrecord);
        /// <summary>
        /// 获取每个医院汇总信息
        /// </summary>
        /// <param name="where"></param>
        /// <param name="currenpage"></param>
        /// <param name="pagesize"></param>
        /// <param name="totalrecord"></param>
        /// <returns></returns>
        IList<Model.View.Statistics_Hospital> GetStatistics_Hospital(Model.Query.Statistics_Hospital where, int currenpage, int pagesize, out int totalrecord);

        /// <summary>
        /// 获取具体交易明细信息
        /// </summary>
        /// <param name="where"></param>
        /// <param name="currentpage"></param>
        /// <param name="pagesize"></param>
        /// <param name="totalrecord"></param>
        /// <returns></returns>
        IList<HZ.Supervise.Model.Supervise> GetTradeInfo(HZ.Supervise.Model.SuperviseQuery where, int currentpage, int pagesize, out int totalrecord);

        System.Data.DataTable GetHospitalAmountStatisticsGroupByArea(string areaid, DateTime? timeFrom, DateTime? timeTo, string strwhere);

        System.Data.DataTable GetHospitalAmountStatistics(string areaid, DateTime? timeFrom, DateTime? timeTo,string strwhere);

        System.Data.DataTable GetCompanyAmountStatistics(string companyid_ps, DateTime? timeFrom, DateTime? timeTo,string strwhere);
          /// <summary>
        /// 打印配送企业支付单
        /// </summary>
        /// <param name="vs"></param>
        /// <returns></returns>
        System.Data.DataTable GetCompanyAmountStatistics(HZ.Supervise.Model.SuperviseQuery vs);


        /// <summary>
        /// 催缴通知书地区汇总
        /// </summary>
        /// <param name="areaid"></param>
        /// <param name="timeFrom"></param>
        /// <param name="timeTo"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        System.Data.DataTable GetHospitalAmountStatisticsGroupByAreaTotal(string areaid, DateTime? timeFrom, DateTime? timeTo, string strwhere);

    }
}
